class Solution(object):
    def longestDiverseString(self, a, b, c):
        d = [[a, 'a'], [b, 'b'], [c, 'c']]
        d.sort(reverse=True)
        t = (d[0][0] + 1) // 2
        ans = []
        for i in range(t):
            ans.append([d[0][1] * (min(d[0][0], 2 * (i + 1)) - 2 * i)])
        index = 0
        flag = False
        for i in range(d[1][0]):
            ans[index].append(d[1][1])
            index += 1
            if index == t:
                flag = True
            index = index % t
        for i in range(d[2][0]):
            ans[index].append(d[2][1])
            index += 1
            if index == t:
                flag = True
            index = index % t
        if not flag:
            ans = ans[:index + 1]
        ans = [''.join(temp) for temp in ans]
        return ''.join(ans)

data = Solution()
a = 5
b = 4
c = 1
print(data.longestDiverseString(a, b, c))
